package com.twb.system.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.twb.core.base.mapper.TwbBaseMapper;
import com.twb.system.entity.twbEnclosure.TwbEnclosure;
import com.twb.system.entity.twbEnclosure.dto.ListServerFilesDto;
import com.twb.system.entity.twbEnclosure.dto.SearchTwbEnclosureDto;
import com.twb.system.entity.twbEnclosure.vo.BizUpdateTwbEnclosureVo;
import com.twb.system.entity.twbEnclosure.vo.SearchTwbEnclosureVo;

/**
 * @ClassName TwbEnclosureMapper
 * @Description 附件信息Mapper
 * 
 * @author DHL
 * @date 2020-08-24 10:52:32
 */
@Mapper
public interface TwbEnclosureMapper extends TwbBaseMapper<TwbEnclosure> {

	/**
	 * @Title  searchTwbEnclosure
	 * @Description 附件信息列表查询（含查询条件）
	 * @param vo
	 * @return
	 * @author DHL
	 * @date 2020-08-24 10:52:32
	 */
	List<SearchTwbEnclosureDto> searchTwbEnclosure(SearchTwbEnclosureVo vo);

	/**
	 * @Title  logicBatchDeleteByIds
	 * @Description 批量删除
	 * @param ids
	 * @return
	 * @author DHL
	 * @date 2020-08-24 10:52:32
	 */
	int logicBatchDeleteByIds(List<String> ids);

	/**
	 * @Title listServerFiles
	 * @Description 批量查询
	 * @param searchTwbEnclosureVo
	 * @return
	 * @author DSY
	 * @date 2020年1月12日 下午9:55:37
	 */
	List<ListServerFilesDto> listServerFiles(SearchTwbEnclosureVo searchTwbEnclosureVo);

	/**
	 * @Title listServerFilesByTwenclosure
	 * @Description 兼容2.0框架的附件信息查询
	 * @param searchTwbEnclosureVo
	 * @return
	 * @author DHL
	 * @date 2021年4月23日 下午4:42:51
	 */
	List<ListServerFilesDto> listServerFilesByTwenclosure(SearchTwbEnclosureVo searchTwbEnclosureVo);

	/**
	 * @Title bizUpdateToEnclosure
	 * @Description 业务信息更新到附件表
	 * @param vo
	 * @return
	 * @author DHL
	 * @date 2020年11月11日 下午2:57:52
	 */
	int bizUpdateToEnclosure(BizUpdateTwbEnclosureVo vo);

	/**
	 * @Title logicDeleteByBiz
	 * @Description 根据业务信息逻辑删除附件
	 * @param vo
	 * @return
	 * @author DHL
	 * @date 2021年1月12日 下午3:57:36
	 */
	int logicDeleteByBiz(BizUpdateTwbEnclosureVo vo);

	/**
	 * @Title  selectTwbEnclosure
	 * @Description 查询原附件表数据
	 * @param invoiceEnclosureIds
	 * @return java.util.List<com.twb.system.entity.twbEnclosure.TwbEnclosure>
	 * @author chyf
	 * @date 2021/3/23 18:23
	 */
	List<TwbEnclosure> selectTwbEnclosure(@Param("invoiceEnclosureIds") List<String> invoiceEnclosureIds);

	/**
	 * @Title bizAddToEnclosure
	 * @Description 根据附件ID新增记录，并与业务信息挂接
	 * @param vo
	 * @return
	 * @author DHL
	 * @date 2021年11月17日 上午11:48:57
	 */
	int bizAddToEnclosure(BizUpdateTwbEnclosureVo vo);

}
